package com.eos.business.service;

import java.util.Date;
import java.util.List;
import java.util.Map;

import com.hf.utils.PaginationBean;
import com.hf.utils.StringUtil;

/**
 * 业务层的抽象基类
 * 
 * @author sz
 * 
 */
public abstract class AbstractEosService<T> {

	/**
	 * 验证pageSize参数 默认值是10
	 * 
	 * @param page_size
	 * @return String
	 */
	public String reviewPageSize(String page_size) {
		int pagesize_num = StringUtil.parseInt(page_size);
		if (pagesize_num < 1) {
			page_size = "10";
		}
		return page_size;
	}

	/**
	 * 检查分页bean对象的curPage cur_page的值不能超过总页数
	 * 
	 * @param cur_page
	 * @param paginationBean
	 * @return PaginationBean
	 */
	public PaginationBean reviewPaginationBean(String cur_page,
			PaginationBean paginationBean) {
		int curpage_num = 1;
		curpage_num = StringUtil.parseInt(cur_page);
		if (curpage_num < 1) {
			curpage_num = 1;
		}
		if (curpage_num > paginationBean.getPagecount()
				&& paginationBean.getPagecount() > 0) {
			curpage_num = paginationBean.getPagecount();
		}
		paginationBean.setCurpage(curpage_num);
		return paginationBean;
	}

	/**
	 * 检查时间 若为空则赋上当前系统时间
	 * 
	 * @param curTime
	 * @return String
	 */
	public String reviewTime(String curTime) {
		if (StringUtil.isEmpty(curTime)) {
			return StringUtil.stringDate(new Date()).substring(0, 10);
		}
		return curTime;
	}

	/**
	 * 通过ID查询单个
	 * 
	 * @param id
	 * @return
	 */
	public T findById(int id) {
		return null;
	}

	/**
	 * 通过条件查询
	 * 
	 * @param t
	 * @return
	 */
	public T findByT(T t) {
		return null;
	}

	/**
	 * 保存数据
	 * 
	 * @param t
	 * @return
	 */
	public String save(T t) {
		return null;
	}

	/**
	 * 更新数据
	 * 
	 * @param t
	 * @return
	 */
	public String update(T t) {
		return null;
	}

	/**
	 * 分页查询数据
	 * 
	 * @param map
	 * @return
	 */
	public List<T> findPage(Map<String, String> map) {
		return null;
	}

	/**
	 * 条件查询数据
	 * 
	 * @param map
	 * @return
	 */
	public List<T> findWhere(Map<String, String> map) {
		return null;
	}

	/**
	 * 获取分页Bean
	 * 
	 * @param map
	 * @return
	 */
	public PaginationBean findBean(Map<String, String> map) {
		return null;
	}

	public T findByKey(String key) {
		return null;
	}

	/**
	 * 批处理保存数据
	 * 
	 * @param t
	 * @return
	 */
	public boolean save(List<T> t) {
		return false;
	}

}
